﻿Public Class xtf_ABMensayotipo

    Dim ulg_row As DataRow
    Dim obj_ensayotipo_ As cls_ensayotipo_ = Nothing

    Public Sub New()
        InitializeComponent()
        AgregarValidaciones()
        liv_ensayosubtipo.Tag = New DevExpress.XtraEditors.Controls.ListBoxItemCollection
    End Sub

    Public Shadows Sub Nuevo(ByRef listado As Form)
        Try
            frm_listado = listado
            Me.Text = CType(frm_listado, xtf_ListadoBase).lbl_modulo.Text & " - Nuevo"
            obj_ensayotipo_ = New cls_ensayotipo_
            btn_Registro.Enabled = False
            Me.Show()
        Catch ex As Exception
            'Dim frmError As New frm_ErrorManager(ex.Message)
        End Try
    End Sub

    Public Shadows Sub Modificar(ByRef ensayotipo As cls_ensayotipo_, ByRef listado As Form, ByRef row As DataRow)
        If IsNothing(obj_ensayotipo_) Then
            obj_ensayotipo_ = New cls_ensayotipo_
        End If
        obj_ensayotipo_ = ensayotipo
        frm_listado = listado
        ulg_row = row : bbi_imprimir.Enabled = True

        Me.Text = CType(frm_listado, xtf_ListadoBase).lbl_modulo.Text & " - " & obj_ensayotipo_.ToString
        txt_ID.Text = obj_ensayotipo_.idensayotipo
        txt_Nombre.Text = obj_ensayotipo_.nombre
        txt_NombreENG.Text = obj_ensayotipo_.nombreENG
        txt_Sigla.Text = obj_ensayotipo_.sigla
        txt_SiglaENG.Text = obj_ensayotipo_.siglaENG

        chk_NombreUSA.Checked = obj_ensayotipo_.nombreUSA
        chk_nombreENGUSA.Checked = obj_ensayotipo_.nombreENGUSA
        chk_siglaUSA.Checked = obj_ensayotipo_.siglaUSA
        chk_siglaENGUSA.Checked = obj_ensayotipo_.siglaENGUSA

        liv_ensayosubtipo.Items.Clear()
        liv_ensayosubtipo.Tag.Clear()
        If Not IsNothing(obj_ensayotipo_.ensayosubtipo_) Then
            If Not IsNothing(obj_ensayotipo_.ensayosubtipo_.Items) Then
                For Each ensayosubtipo As cls_ensayosubtipo_ In obj_ensayotipo_.ensayosubtipo_.Items
                    Dim Item As New DevExpress.XtraEditors.Controls.ImageListBoxItem
                    Dim Elemento As New CustomListItem
                    Elemento.objeto = ensayosubtipo
                    Elemento.text = ensayosubtipo.ToString
                    Item.Value = Elemento
                    liv_ensayosubtipo.Items.Add(Item)
                Next
            End If
        End If

        btn_Registro.Enabled = True

        Me.Show()

    End Sub

    Public Overrides Function ComprobarDatos() As Boolean
        If Not ControlarValidaciones() Then
            ErrManagerShow("000004", Me)
            Return False
        End If
        Return True
    End Function

    Public Shadows Sub btn_Guardar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Guardar.Click
        If ComprobarDatos() Then
            obj_ensayotipo_.nombre = txt_Nombre.Text
            obj_ensayotipo_.nombreENG = txt_NombreENG.Text
            obj_ensayotipo_.sigla = txt_Sigla.Text
            obj_ensayotipo_.siglaENG = txt_SiglaENG.Text

            obj_ensayotipo_.nombreUSA = chk_NombreUSA.Checked
            obj_ensayotipo_.nombreENGUSA = chk_nombreENGUSA.Checked
            obj_ensayotipo_.siglaUSA = chk_siglaUSA.Checked
            obj_ensayotipo_.siglaENGUSA = chk_siglaENGUSA.Checked

            'Guardo Direcciones---------------------------------------------------
            If IsNothing(obj_ensayotipo_.ensayosubtipo_) Then
                obj_ensayotipo_.ensayosubtipo_ = New cls_ensayosubtipo_
            End If
            If IsNothing(obj_ensayotipo_.ensayosubtipo_.Items) Then
                obj_ensayotipo_.ensayosubtipo_.Items = New Collections.Generic.List(Of cls_ensayosubtipo_)
            End If
            obj_ensayotipo_.ensayosubtipo_.Items = New Collections.Generic.List(Of cls_ensayosubtipo_)
            For Each Elemento As DevExpress.XtraEditors.Controls.ImageListBoxItem In liv_ensayosubtipo.Items
                obj_ensayotipo_.ensayosubtipo_.Items.Add(Elemento.Value.objeto)
            Next
            For Each Elemento As DevExpress.XtraEditors.Controls.ImageListBoxItem In liv_ensayosubtipo.Tag
                If CType(Elemento.Value.objeto, cls_ensayosubtipo_).idensayosubtipo <> 0 Then
                    CType(Elemento.Value.objeto, cls_ensayosubtipo_).Eliminar(CType(Elemento.Value.objeto, cls_ensayosubtipo_).idensayosubtipo)
                End If
            Next
            '---------------------------------------------------------------------

            If txt_ID.Text = "" Then
                obj_ensayotipo_.Nuevo(True)
                If frm_listado.Visible Then
                    ulg_row = CType(frm_listado, xtf_LISTADOensayotipo_).AgregarItem(obj_ensayotipo_)
                End If
                Modificar(obj_ensayotipo_, frm_listado, ulg_row)
            Else
                obj_ensayotipo_.Modificar()
                If frm_listado.Visible Then
                    CType(frm_listado, xtf_LISTADOensayotipo_).ModificarItem(obj_ensayotipo_, ulg_row)
                End If
                Modificar(obj_ensayotipo_, frm_listado, ulg_row)
            End If
            flg_Modificado = False : btn_Guardar.Enabled = False : bbi_guardar.Enabled = False
        End If
    End Sub

    Private Sub btn_Registro_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Registro.Click
        If Not IsNothing(obj_ensayotipo_.registro) Then
            Dim ABMRegistro As New xtf_ABMRegistro(obj_ensayotipo_.registro)
            If ABMRegistro.ShowDialog() = Windows.Forms.DialogResult.OK Then
                flg_Modificado = True
            End If
        End If
    End Sub


    Private Sub btn_Cerrar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Cerrar.Click
        If flg_Modificado Then
            bol_comprobarCerrado = False
            Select Case ErrManagerShow("000001", Me)
                Case Windows.Forms.DialogResult.Yes
                    If ComprobarDatos() Then
                        btn_Guardar_Click(Nothing, Nothing)
                    Else
                        Exit Sub
                    End If
                Case Windows.Forms.DialogResult.Cancel : bol_comprobarCerrado = True
                    Exit Sub
            End Select
        End If
        Me.Dispose()
    End Sub

#Region "ensayosubtipo"

    Private Sub liv_ensayosubtipo_ItemDoubleClick(ByVal sender As Object, ByVal e As EventArgs) Handles liv_ensayosubtipo.DoubleClick
        tsb_ensayosubtipoModificar.PerformClick()
    End Sub

    Private Sub tsb_ensayosubtipoNuevo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tsb_ensayosubtipoNuevo.Click
        Dim ABMDireccion As New xtf_ABMensayosubtipo
        If ABMDireccion.ShowDialog(Me) = Windows.Forms.DialogResult.OK Then
            liv_ensayosubtipo.BeginUpdate()
            Dim Item As New DevExpress.XtraEditors.Controls.ImageListBoxItem
            Dim Elemento As New CustomListItem
            Elemento.objeto = ABMDireccion.obj_ensayosubtipo
            Elemento.text = ABMDireccion.obj_ensayosubtipo.ToString
            Item.Value = Elemento
            liv_ensayosubtipo.Items.Add(Item)
            liv_ensayosubtipo.EndUpdate()
        End If
    End Sub

    Private Sub tsb_ensayosubtipoModificar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tsb_ensayosubtipoModificar.Click
        If liv_ensayosubtipo.SelectedItems.Count > 0 Then
            Dim ABMDireccion As New xtf_ABMensayosubtipo
            ABMDireccion.Modificar(liv_ensayosubtipo.SelectedItems(0).value.objeto)
            If ABMDireccion.ShowDialog = Windows.Forms.DialogResult.OK Then
                liv_ensayosubtipo.BeginUpdate()
                liv_ensayosubtipo.SelectedItems(0).value.objeto = ABMDireccion.obj_ensayosubtipo
                liv_ensayosubtipo.SelectedItems(0).value.text = ABMDireccion.obj_ensayosubtipo.ToString
                liv_ensayosubtipo.EndUpdate()
            End If
        End If
    End Sub

    Private Sub tsb_ensayosubtipoEliminar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tsb_ensayosubtipoEliminar.Click
        If liv_ensayosubtipo.SelectedItems.Count > 0 Then
            liv_ensayosubtipo.BeginUpdate()
            Dim Elemento As DevExpress.XtraEditors.Controls.ImageListBoxItem
            Elemento = liv_ensayosubtipo.SelectedItems(0)
            liv_ensayosubtipo.Items.Remove(Elemento)
            liv_ensayosubtipo.Tag.add(Elemento)
            liv_ensayosubtipo.EndUpdate()
        End If
    End Sub

#End Region

    Private Sub txt_Nombre_EditValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txt_Nombre.EditValueChanged
        If sender.text = "" Then
            chk_NombreUSA.Enabled = False
            chk_NombreUSA.Checked = False
        Else
            chk_NombreUSA.Enabled = True
            chk_NombreUSA.Checked = True
        End If
    End Sub

    Private Sub txt_NombreENG_EditValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txt_NombreENG.EditValueChanged
        If sender.text = "" Then
            chk_nombreENGUSA.Enabled = False
            chk_nombreENGUSA.Checked = False
        Else
            chk_nombreENGUSA.Enabled = True
            chk_nombreENGUSA.Checked = True
        End If
    End Sub

    Private Sub txt_Sigla_EditValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txt_Sigla.EditValueChanged
        If sender.text = "" Then
            chk_siglaUSA.Enabled = False
            chk_siglaUSA.Checked = False
        Else
            chk_siglaUSA.Enabled = True
            chk_siglaUSA.Checked = True
        End If
    End Sub

    Private Sub txt_SiglaENG_EditValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txt_SiglaENG.EditValueChanged
        If sender.text = "" Then
            chk_siglaENGUSA.Enabled = False
            chk_siglaENGUSA.Checked = False
        Else
            chk_siglaENGUSA.Enabled = True
            chk_siglaENGUSA.Checked = True
        End If
    End Sub
End Class